package ru.niir.goodfil.exceptions;

import ru.niir.goodfil.db.dic.OrderState;
import org.apache.log4j.Logger;

/**
 * Исключение возникает при невозможности перевести заказ из одного статуса в другой
 */
public class OrderStateChangeException extends GoodfilException
{
    private static final Logger logger = Logger.getLogger(OrderStateChangeException.class);

    private final long orderId;
    private final int sourceState;
    private final int destState;

    public OrderStateChangeException(long orderId, int sourceState, int destState)
    {
        super("Невозможно перевести заказ " + orderId + " из статуса \"" + OrderState.asString(sourceState) + "\" в статус \"" + OrderState.asString(destState) + "\"");
        logger.debug("Невозможно перевести заказ " + orderId + " из статуса \"" + OrderState.asString(sourceState) + "\" в статус \"" + OrderState.asString(destState) + "\"");
        this.orderId = orderId;
        this.sourceState = sourceState;
        this.destState = destState;
    }

    public int getSourceState()
    {
        return sourceState;
    }

    public int getDestState()
    {
        return destState;
    }

    public long getOrderId()
    {
        return orderId;
    }
}
